home *** CD-ROM | disk | FTP | other *** search
- /*
-
- DiVATransition.h
-
- Interface definitons and specifications for DiVA VideoShop transition
- effect code modules.
-
- 09/16/91 Ivçn Cavero Bela£nde
-
- ⌐ 1991, 1992 DiVA Corporation. All rights reserved.
-
- */
-
- #ifndef DIVAXSITION
- #define DIVAXSITION
-
- #include <Types.h>
- #include <QuickDraw.h>
- #include <QDOffscreen.h>
-
- /* Selector Constants */
-
- #define XSParameters 0
- /* Initialize and display paramters dialog */
- #define XSPrepare 1
- /* Prepare for applying transition */
- #define XSStart 2
- /* Initialize transition-wide globals and buffers */
- #define XSProcessFrame 3
- /* Apply transition to frame */
- #define XSFinish 4
- /* Deallocate globals */
-
-
- #define kXsnVersion 1
- /* Transition interface version */
- #define kXsnCodeType 'Vxsn'
- /* Type of transition code resource */
- #define kXsnInfoType 'XsnI'
- /* Type of transition info resource */
-
-
-
- /* Error Codes */
-
- enum {
- XSErrReported = 0x00010000, /* An error has occurred. Do not display dialog. */
- XSErrOutOfDiskSpace = 0x00030000, /* "The effect could not be applied because there
- is not enough disk space in the recording bin." */
- XSErrOutOfMemory = 0x00040000, /* "The effect could not be applied because there
- is not enough memory available." */
- XSErrEffectFileCorrupted = 0x00050000, /* "The effect module is corrupted. Please replace
- it with the original effects module." */
- XSErrBadSystemVersion = 0x00060000, /* "This effect module will not function with the
- currently installed system software." */
- XSErrBadQDVersion = 0x00080000, /* "This effect module will not work with the currently
- installed version of 32-bit QuickDraw." */
- XSErrBadQTVersion = 0x000A0000, /* "This effect module will not work with the currently
- installed version of QuickTime." */
- XSErrBadVSVersion = 0x000C0000, /* "This effect module will not work with this version
- of DiVA VideoShop¬." */
- };
-
-
-
- /* Types */
-
- /* Parameter Block */
- typedef struct XsitionRecord {
- long version; /* Version of Transition Interface used by called. This version
- is version 1. */
- ProcPtr abortProc; /* Pointer to no-argument BOOLEAN pascal function that returns
- whether the user has canceled the transition operation. */
- ProcPtr progressProc; /* Pointer to two-argument pascal procedure that accepts two
- LONGINTs. The first one describes how much of the transition
- operation for this frame has been completed. The second one
- describes the number of operations for this frame. */
- Handle parameters; /* Plug-in's storage handle, initialized to NIL by VideoShop
- unless passing same parameters handle as an earlier transition
- operation. Must be self-contained, and must not be disposed
- of by the transition. */
- long timeScale; /* The time unit of other time measurements, such as frame and
- timeStep, in ticks per second. */
- long timeStep; /* The amount of ticks stepped forward in the sequence between
- successive calls. */
- RGBColor background; /* The background color. If the transition operation leaves any
- part of the image "empty," it should be filled with this color. */
- PixMapHandle srcA; /* The original source images to be mixed, standard QuickDraw */
- PixMapHandle srcB; /* PixMapHandles, not-purgeable, and unlocked. */
-
- GWorldPtr destImage; /* The destination image buffer for the transitioned image. */
- } XsitionParams, *XsitionParamPtr;
-
-
- /* Transition Info Record */
-
- typedef struct XsnInfoRec {
- long version; /* Version number of VideoShop's calling interface this transition
- is compatible with. */
- OSType media; /* Media this transition operates on. Currently only transitions
- that operate on video media ('vide') are supported. */
- long flags; /* Transition flags. Currently only filterFlagTimeBased is defined. */
- OSType xsnSignature; /* Transition signature. A unique 4-character ID for this transition.
- Analogous to a QuickTime component componentSubType. */
- long xsnVersion; /* Transition version. */
- OSType xsnManufacturer; /* Transition manufacturer. A 4-character ID for the manufacturer of
- this transition, analogous to a QuickTime component
- componentManufacturer. */
- OSType descRsrcType; /* Resource type and ID of description of transition. Description
- should be a pascal string. */
- short descRsrcID;
- /* Reserved for future expansion */
- } **XsitionInfo;
-
-
- typedef long XsnErr;
-
-
- typedef pascal XsnErr (*DiVAXsitionPtr)(short selector, XsitionParamPtr transitionRecord,
- long *data, short transitionIntensity, short maxTransitionIntensity);
-
-
-
-
- #endif DIVAXSITION
-